package lumis.portal.principal.importprincipal;

import java.util.ArrayList;
import java.util.Collection;

/**
 * Value Object that holds the users configs extracted.
 * 
 *
 * @version $Revision: 8289 $ $Date: 2007-09-24 17:46:32 -0300 (Mon, 24 Sep 2007) $
 * @since 4.0.8
 */
class User
{
	private String login;
	private String firstName;
	private String middleName;
	private String lastName;
	private String email;
	private String channelId;
	private Collection<String> alternativeLogins = new ArrayList<String>();
	
	/**
	 * Constructor with login, name, email, channelId
	 * @param login
	 * @param name
	 * @param email
	 * @param channelId
	 */
	public User(String login, String firstName, String middleName, String lastName, String email, String channelId)
	{
		super();
		this.login = login;
		this.firstName = firstName;
		this.middleName = middleName;
		this.lastName = lastName;
		this.email = email;
		this.channelId = channelId;
	}
	/**
	 * Get channelId
	 * @return
	 * @since 4.0.8
	 */
	public String getChannelId()
	{
		return channelId;
	}
	
	/**
	 * Get email
	 * @return
	 * @since 4.0.8
	 */
	public String getEmail()
	{
		return email;
	}
	
	/**
	 * Get login
	 * @return
	 * @since 4.0.8
	 */
	public String getLogin()
	{
		return login;
	}
	
	/**
	 * Returns the first name of this user.
	 * @return the first name of this user.
	 * @since 4.0.11
	 */
	public String getFirstName()
	{
		return firstName;
	}

	/**
	 * Returns the middle name of this user.
	 * @return the middle name of this user.
	 * @since 4.0.11
	 */
	public String getMiddleName()
	{
		return middleName;
	}
	
	/**
	 * Returns the last name of this user.
	 * @return the last name of this user.
	 * @since 4.0.11
	 */
	public String getLastName()
	{
		return lastName;
	}
	
	/**
	 * Returns the alternative logins for this user. Any changes to the
	 * returned collection affects the alternative logins for this user
	 * value object.
	 * @return the alternative logins.
	 * @since 4.0.8
	 */
	public Collection<String> getAlternativeLogins()
	{
		return alternativeLogins;
	}
}
